package com.yunxin.core.application.dto.merchant;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author zero°
 * @since 2023-05-27
 */
@Data
@Schema(description = "商户详情信息对象")
public class MerchantDetailDTO implements Serializable {

    /**
     * id
     */
    @Schema(description = "id")
    private Long id;
    /**
     * 商户名称
     */
    @Schema(description = "商户名称")
    private String merchantName;

    /**
     * 商户状态 1.禁用 2.启用
     */
    @Schema(description = "商户状态 1.禁用 2.启用")
    private Integer merchantStatus;

    /**
     * 商户类型 1.个人 2.企业
     */
    @Schema(description = "商户类型 1.个人 2.企业")
    private Integer merchantType;
    /**
     * 打款账户
     */
    @Schema(description = "打款账户")
    private String debitAccount;
    /**
     * 统一信用社会代码
     */
    @Schema(description = "统一信用社会代码")
    private String unifiedCreditSocialCode;
    /**
     * 营业执照图片地址
     */
    @Schema(description = "营业执照图片地址")
    private String businessLicense;
    /**
     * 负责人
     */
    @Schema(description = "负责人")
    private String responsiblePerson;
    /**
     * 负责人手机
     */
    @Schema(description = "负责人手机")
    private String responsiblePersonPhone;
    /**
     * 微信号
     */
    @Schema(description = "微信号")
    private String wechatNumber;
    /**
     * 邮箱
     */
    @Schema(description = "邮箱")
    private String mail;
    /**
     * 企业通讯地址
     */
    @Schema(description = "企业通讯地址")
    private String mailAddress;
    /**
     * 对接人
     */
    @Schema(description = "对接人")
    private MerchantContactPersonDTO merchantContactPerson;
    /**
     * 发票信息
     */
    @Schema(description = "发票信息")
    private MerchantInvoiceDTO merchantInvoice;
    /**
     * 更新人
     */
    @Schema(description = "更新人")
    private String editor;
    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
}
